Práctica: Regresión Logistica con Python.
Objetivo: Variables categóricas.
Recurso: El siguiente ejercicio es una práctica del curso de machine learning de Juan Gabriel Gomila. https://www.udemy.com/machinelearningpython/ Descargar: https://github.com/Azhura/python
Autor: Carlos Prado | Córdoba Argentina
Licencia: Juan Gabriel Gomila | 29/04/2019

In [1]:
import pandas as pd
In [6]:
df = pd.read_csv("D:/Archivos/Carlos/Programación 2019/Python/Data Science/Data Sets/gender-purchase/Gender Purchase.csv")
In [8]:
df.head()
Out[8]:
Gender Purchase
0 Female Yes
1 Female Yes
2 Female No
3 Male No
4 Male Yes
In [15]:
df.describe()
Out[15]:
Gender Purchase
count 511 511
unique 2 2
top Female Yes
freq 265 280
In [16]:
df.shape
Out[16]:
(511, 2)
In [17]:
contingency_table = pd.crosstab(df['Gender'], df['Purchase'])
contingency_table
Out[17]:
Purchase No Yes
Gender
Female 106 159
Male 125 121
In [19]:
contingency_table.sum(axis=1)
Out[19]:
Gender
Female    265
Male      246
dtype: int64
In [20]:
contingency_table.sum(axis=0)
Out[20]:
Purchase
No     231
Yes    280
dtype: int64

Probabilidad condicional

  • ¿Cuál es la probabilidad de que un cliente compre un producto sabiendo que es un hombre?
  • ¿Cuál es la probabilidad de que un cliente No compre un producto sabiendo que es un hombre?
  • ¿Cuál es la probabilidad de que un cliente compre un producto sabiendo que es una mujer?
  • ¿Cuál es la probabilidad de que un cliente No compre un producto sabiendo que es una mujer?

$Probabilidad \ de \ Laplace \rightarrow \frac{Casos \ Favorables} {Casos \ Posibles}$

$P$$(Purchase|Male) \ =$ $ \frac {Número \ total \ de \ compras \ hechas \ por \ hombres } {Casos \ Posibles} = \frac {Purchase \ \cap \ Male} {Male}$

In [38]:
121/246
Out[38]:
0.491869918699187

$P$$(NO \rightarrow Purchase|Male)$ $\frac {Número \ total \ de \ compras \ NO \ hechas \ por \ hombres } {Casos \ Posibles} = \frac {NO->Purchase \ \cap \ Male} {Male}$

In [39]:
125/246
Out[39]:
0.508130081300813

$P$$(Purchase|Female)$ $\frac {Número \ total \ de \ compras \ hechas \ por \ muejeres } {Casos \ Posibles} = \frac {Purchase \ \cap \ Female} {Female}$

In [40]:
159/265
Out[40]:
0.6

$P$$(NO \rightarrow Purchase|Female)$ $\frac {Número \ total \ de \ compras \ NO \ hechas \ por \ mujeres } {Casos \ Posibles} = \frac {NO->Purchase \ \cap \ Female} {Female}$

In [42]:
106/265
Out[42]:
0.4
In [43]:
 contingency_table.astype("float").div(contingency_table.sum(axis=1), axis=0)
Out[43]:
Purchase No Yes
Gender
Female 0.40000 0.60000
Male 0.50813 0.49187
In [ ]: